# _*_conding:cp-1252-*-
# 教育机构：银杰教育
# 讲师：李伟
# 开发时间：2025/9/4 下午10:23
"""

如果读取的数据不是json格式 ，可以返反序列化么？
-- 不可以，报错 ：json.decoder.JSONDecodeError: Expecting value: line 1 column 84 (char 83)
"""
import json

a = {"a":"b"}
print(type(a))
a = '{"a":"b"}' # json串
print(type(a))
a = "{'a':'b'}"  # 不是json串
print(type(a))
a = '{"a":ture}' # json串

# json和字典的转化
b = '{"a":"b"}' # json串
eval(b)  #
print(json.loads(b))

#eval(b) 也可以脱引号实现。
#
data = '{"principal": "lemon_py", "credentials": "12345678", "appType": null, "loginType": true}'
# JSON   null  反序列化成字典 变成None
# json串-->字典  ==重点。
new_data = json.loads(data)
print(new_data,type(new_data))
# 结果： {'principal': 'lemon_py', 'credentials': '12345678', 'appType': None, 'loginType': True}

# #字典--->json串
old_data = json.dumps(new_data)
print(old_data,type(old_data))

# # 如果读取的数据不是json格式 ，可以返反序列化么？ -- 不可以，json.decoder.JSONDecodeError: Expecting value: line 1 column 84 (char 83)
data = '{"principal": "lemon_py", "credentials": "12345678", "appType": null, "loginType": True}' #JSON串里面是true 否则报错。
new_data = json.loads(data)
print(new_data,type(new_data))

# 总结：读取的数据不是JSON格式，不可以反序列化处理，会报错。
